home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / September 93.iso / Archives / Applications / Text / Text Editors / uEmacs_3.10 / mac_dist_info < prev    next >
Encoding:
Text File  |  1989-12-03  |  14.1 KB  |  270 lines  |  [TEXT/Earl]

  1. This is an alpha distribution of MicroEmacs 3.10 as ported to the
  2. Macintosh Operating System.  It consists of the following files in
  3. StuffIt archive format.
  4.  
  5.     mac_dist_info      This file
  6.     emacs.tut          A copy of the MicroEmacs tutorial
  7.     emacs              A Macintosh application
  8.     emacs.rc           MicroEmacs startup file, place in System Folder
  9.     readme             Dan Lawrence's notes on version 3.10
  10.     emacs.hlp          MicroEmacs 3.10 help file
  11.  
  12. The "emacs" file implements the MicroEmacs program as a Macintosh
  13. application.  It provides a terminal emulator in which the MicroEmacs
  14. program displays its output, as well as some additional Macintosh
  15. specific services discussed below.  Additional information not
  16. available in this distribution may be obtained by writing to the author
  17. of MicroEmacs, Dan Lawrence, at the address listed in the application's
  18. "About" box.  I have mailed Dan copies of the source to the Macintosh
  19. port, and I sincerely hope that he will be able to incorporate the
  20. Macintosh sources into the next official version of MicroEmacs.  To
  21. make full use of the program, it will be advantageous to obtain a copy
  22. of the MicroEmacs manual.  This is a rather large document and explains
  23. most everything there is to know about using MicroEmacs.  Requests to
  24. Dan should probably be accompanied by a suitable donation.  Other
  25. sources of MicroEmacs manuals and source code are various Internet ftp
  26. sites and bulletin boards.  The program runs on a number of computer
  27. lines, and information for it may therefore be found in areas devoted
  28. to IBM PC, Atari, Amiga, etc.
  29.  
  30. It will be useless to send requests for information to me, as I return
  31. this Mac II to Dartmouth tomorrow, I move to Seattle in two weeks, and I
  32. begin my career as a Windows/DOS system programmer on Jan. 2, 1990.
  33.  
  34. The Macintosh version of MicroEmacs has several features which make it
  35. different from versions for other systems, because of the nature of the
  36. Macintosh User Interface and Operating System.  Let us discuss the
  37. terminal emulator first, for lack of a better place to start. 
  38.  
  39. MicroEmacs for the Macintosh has eight menus.  The three menus on the
  40. right control the appearance of the text in the terminal emulator
  41. window.  The font menu selects a window font from any of the installed
  42. fonts in your system.  The size menu lets you choose from any of six
  43. sizes of text, whether the chosen size exists in the selected font or
  44. not.  If the size selection is missing a size that you want, then you
  45. may install more sizes using a resource editor such as Apple's ResEdit.
  46. Just add another menu item containing an ASCII representation of an
  47. integer.  The options menu allows you to hide or show the scroll bar,
  48. and to select or deselect bold font style.  If you select invisible
  49. scroll bar, Courier 12, and plain style, then you have a window which
  50. looks just like the A/UX Console Emulator.
  51.  
  52. MicroEmacs 3.10 has had its status messages translated into several
  53. foreign languages.  Other versions allow the desired language to be
  54. specified at compile time, and the status messages are taken from a
  55. language specific header file.  The Macintosh version has all of the
  56. available language specific header files loaded into it as resources. 
  57. If you would like to see all messages in Deutsch (German), then select
  58. "Deutsch" from the Language menu.  If you are a Pig Roman, then select
  59. "Igpay Atinlay" (Pig Latin) from the Language menu.  Dan Lawrence is
  60. looking for volunteers to translate these messages into more languages.
  61.  
  62. The default settings for language and terminal options may be set by use
  63. of pseudo environmental variables, contained in named 'STR ' resources
  64. in the application file.  To change one of the defaults, open the
  65. application with a resource editor and alter the named string as
  66. follows:
  67.  
  68.     "LANGUAGE"      -- Name of desired 'LANG' resource.
  69.     "FONT"          -- Name of desired font.  If this font is not
  70.                        found, uses the System Font.
  71.     "SIZE"          -- Text size.  An ASCII integer representation.
  72.     "SCROLLY"       -- Width of scroll bar.  ASCII integer.
  73.     "SCROLLYSHOW"   -- Whether to show the scroll bar initially.
  74.                        First character is significant, if it is 'n' 
  75.                        or 'N' then scroll bar is hidden.  Anything
  76.                        else means show it.
  77.                        "Ja"    ->  show it.
  78.                        "Nein"  ->  hide it.
  79.     "PATH"          -- Place to look for "emacs.rc" startup file.
  80.                        System folder is default.
  81.  
  82. Please do not distribute copies of this program which have the default
  83. settings changed.
  84.  
  85. The MicroEmacs window allows you to display text in a proportional
  86. font. Unfortunately, MicroEmacs expects its terminal to have lines
  87. which hold a fixed maximum number of characters.  When a proportional
  88. font is active, then the virtual terminal is sized according to the
  89. width of the ASCII space (' ') character.  This means that some lines
  90. may extend off the right end of the window without emacs knowing about
  91. it, if they contain lots of characters wider than a space.  Program
  92. behavior in this situation may differ from that described in the
  93. tutorial.  The text may be still scrolled into view using the mouse. 
  94. Place the cursor over the text.  Press the mouse button, and drag
  95. horizontally to the left.  The window contents should scroll to the
  96. left, making the text visible.  The message line is always displayed in
  97. a mono-spaced font.  The window font is used if it is mono-spaced,
  98. Monaco is used if not.  Me, I like to edit Pascal programs using Symbol
  99. 18.
  100.  
  101. MicroEmacs 3.10 now has a mouse-modifier for keystrokes which it
  102. understands.  Unfortunately, many of the mouse operations which are
  103. possible on the Macintosh do not have matching functions in the mouse
  104. interpreter built into the MicroEmacs kernel.  For this reason, some
  105. mouse operations operate directly, and some are sent to MicroEmacs as
  106. escape sequences, which may be redound by the more adventurous user.
  107. Mousing in the MicroEmacs window is perhaps not in the same state which
  108. will apply in the final version.  I will attempt to describe the
  109. options which now exist.
  110.  
  111. The scroll bar works by default in the normal manner.  The buttons
  112. scroll the active window up or down.  The thumb is used to go to a
  113. vertical position within the window's buffer.  These are not presently
  114. implemented as escape sequences, both for performance reasons and
  115. because MicroEmacs does not yet have kernel code to mimic
  116. TrackControl().  The two page regions map rather directly to the
  117. MicroEmacs commands "next-page" and "previous-page," so I have assigned
  118. escape sequences to them.  If you want to rebind "MSj" and "MSi," then
  119. you will get different behavior from page-up and page-down regions in
  120. the scroll bar control.
  121.  
  122. Mousing in the window grow area generates the escape sequence "MS1" and
  123. sends MicroEmacs the desired x and y coordinates of the new window
  124. size. MicroEmacs then requests the terminal to assume the new size. 
  125. Maximum coordinates are 254 by 254. Rebinding this function is not
  126. desirable, but this information may be used to set the default window
  127. size in your "emacs.rc" startup file.  Here is an example.
  128.  
  129. ;
  130. ; Set the window size to 100 by 20 characters.
  131. set $xpos 100
  132. set $ypos 20
  133. mouse-resize-screen
  134.  
  135. This may be done interactively by a sequence of "META-x" commands, but
  136. would be considerably slower than using the mouse.  This sort of thing
  137. may be handy to know when designing a startup file, however.
  138.  
  139. The MicroEmacs kernel currently understands two kinds of mouse commands,
  140. presumably having to do with two mouse buttons.
  141.  
  142. "Mouse-move" commands allow one to move the text cursor and to drag the
  143. window contents in a decidedly un-Macintosh manner.  Mode lines can be
  144. moved also.  This mode is accessed using the mouse in conjunction with
  145. the command key,
  146.  
  147. "Mouse-region" commands do things with the region.  These are accessed
  148. using the shift key.  Shift drags define a region and copy it.  Shift
  149. dragging a mode line deletes the associated window.  Shift clicking on
  150. the insertion point causes a yank of the kill buffer to the insertion
  151. point.  Shift dragging a mode line deletes its window.
  152.  
  153. Experiment with these two modes.  You may like them.  They both have the
  154. problem that there is little interactive feedback to mouse actions while
  155. the button is still down.
  156.  
  157. A third mode does not use MicroEmacs mouse escape sequences, but rather
  158. operates directly upon the window contents.  This is actuated by
  159. clicking the mouse with no modifier keys.  A simple click, either in
  160. text or in a mode line, moves the insertion point into the window where
  161. the click was made.  A double click in a mode line moves to that window
  162. and then does a next-buffer command.  A double click in text sets the
  163. mark at the click point, and moves the point to the previous mark. 
  164. This refers to mark 0.  Simple dragging defines a region, as in
  165. shift-clicking but in a more interactive fashion.  Drags may extend off
  166. the edge of the window, in which case more text is scrolled into view. 
  167. The region thus defined is not hilighted, because a region is
  168. conceptually different from a Macintosh selection range.  Typing
  169. anything will delete a selection range, while you need an explicit kill
  170. command to delete a region, for example.  Mode lines may be dragged to
  171. resize their windows.  If you drag a mode line up far enough, you
  172. delete its window.  If there is only one window, dragging its mode line
  173. creates another window for you.  Dragging the bottom mode line resizes
  174. the bottom window, but does not move the mode line.
  175.  
  176. For your safety, clicking the mouse or attempting a MenuKey operation
  177. aborts any message line or incremental-search activity which is
  178. currently taking place.
  179.  
  180. The MicroEmacs keyboard interface is simple, and only does what key
  181. translation is necessary for sanity.  The command key is mapped
  182. directly to control, because I prefer to use the command key and
  183. because Macintosh Plus users do not have a control key.  Menu key
  184. equivalents are accessed by using command-shift instead of command.  To
  185. cut something, hold down command and shift, then press enter.  The four
  186. arrow keys are mapped to the MicroEmacs cursor movement commands, ^N,
  187. ^B, ^F, and ^P.  Command-arrow combinations are not mapped, and are not
  188. bound, so you may map these to anything you like.  Enter is mapped to
  189. ^J, because that makes more sense to me than ^C.  Command-space is
  190. mapped to NUL, because there is no way to generate a NUL on Apple
  191. keyboards that I know of.  Command-6 is mapped to ^^ for the same
  192. reason.
  193.  
  194. Beyond this, the Macintosh version of MicroEmacs does no key mapping of
  195. its own.  If you have an Apple Extended Keyboard, then you have fifteen
  196. ^P keys, all in a row.  These keys, and the other special function
  197. keys, should be remapped using a keyboard remapping utility such as
  198. Macro Maker, Quick Keys, or AutoMac.
  199.  
  200. I have had numerous requests for a version of Macintosh MicroEmacs where
  201. the option key serves as a META key.  Forget it.  The option key is for
  202. generating Macintosh extended character set characters, including
  203. diacritical marks such as those used in many non-English languages.
  204.  
  205. The MicroEmacs Buffer menu is used to select the working buffer, and to
  206. show the status of all buffers.  Active buffers are in plain style or
  207. italic.  If a buffer is in the modified state, then the buffer name is
  208. italicized.  Inactive buffers are shown in outline style.  If you
  209. activate MicroEmacs by double-clicking a bunch of documents, and not all
  210. documents have been read in yet, then a number of entries in the buffer
  211. menu will appear in outline style.  Select a buffer by choosing its name
  212. from the buffer menu.
  213.  
  214. The Edit menu supports Cut, Copy and Paste.  You can Cut or Copy the
  215. region.  You can paste any text in the clipboard at the point in the
  216. current window.  Do not attempt to Cut or Copy very large areas of text
  217. at a time.  MicroEmacs does its own memory management, and only leaves
  218. 64k over for use by system routines.  The maximum size of a Cut block of
  219. text is probably about 32k.  MicroEmacs does not support Undo.
  220.  
  221. The Macintosh version of MicroEmacs supports a standard File Menu.  This
  222. may be used to access files using Apple's Standard File package, which
  223. should be familiar to all but the most novice Macintosh users. 
  224. MicroEmacs can also access files directly using find-file and related
  225. commands.  The MicroEmacs built-in file commands all require that a file
  226. name be given as a pathname or that the file reside in the default
  227. directory.  The default directory is that folder holding the last file
  228. in MicroEmacs' Finder argument list.
  229.  
  230. MicroEmacs keeps track of a file's location by pathname.  This version
  231. of the Macintosh port does so, also.  This method has the chief
  232. disadvantage that pathnames on the Macintosh can be ambiguous.  Don't
  233. create problems for yourself by working with different volumes which
  234. have the same name.  If you find this to be a restriction, then you are
  235. welcome to get a copy of the MicroEmacs sources and rework all the file
  236. handling routines to use Macintosh directory IDs.
  237.  
  238. This copy of MicroEmacs uses the _UprString system call to build a set
  239. of case translation tables, instead of using the woefully inadequate
  240. ctype.h.  For this reason case-change operations and word operations
  241. should work properly in all single byte character sets.  In practice,
  242. however, _UprString seems to have problems in all the System versions I
  243. have tried.  Specifically, it does not seem to recognize that 'ß' is a
  244. letter, even with the Deutsch version of 6.0.3 that I use.  Dan
  245. Lawrence's "readme" file describes how to remedy this problem by
  246. overriding the case translation tables.  
  247.  
  248. Try it out by jumping über the word über in this sentence using M-f or
  249. M-b.  Or, for the more adventurous, position just before the following
  250. nonsense word, and try M-u!  
  251.  
  252.     éñøüäöœ
  253.  
  254. Any problems with the way the Macintosh system interprets the case or
  255. alphabetic status of a character may be resolved by over-riding the case
  256. translation tables as described in Dan's "readme" file.
  257.  
  258. Now, let's try to fix the problem with ß, so that we can capitalize
  259. "Straßburg."  Copy the following line to a buffer, and execute the
  260. buffer.
  261.  
  262. nop &slo "ß" "ß"
  263.  
  264. Once you have this done, go back and try to "case-word-capitalize"
  265. Straßburg.  It should work properly this time!
  266.  
  267. Earle R. Horton
  268. Sun. Dec. 3 1989
  269.  
  270.